package cn.tedu.inter2;
/*本类用于进一步测试接口的使用*/
public class TestUserInter {
    public static void main(String[] args) {
        //5.创建接口实现类的对象
        UserInterImpl u = new UserInterImpl();
        //7.测试接口中的静态常量
        System.out.println(UserInter.age);//静态,因为可以被接口名直接调用
        //UserInter.age = 30;//final,因为值不可以被修改
    }
}

//1.创建接口
interface UserInter{
    //2.测试接口中是否包含构造方法
    /*接口中是否包含构造方法?--没有!*/
    //public UserInter(){}
    //6.测试接口中是否可以定义成员变量
    /*4.接口中的是静态常量,实际上的写法是public static final int age = 20;
     * 只不过接口中可以省略不写,会默认拼接,所以写成int age = 20;也可以*/
    public static final int age = 20;
    //8.测试接口中可以定义抽象方法
    /*5.接口中抽象方法的定义可以简写,会自动给方法拼接public abstract*/
    public abstract void eat();
    void play();
}
//3.创建接口实现类
class UserInterImpl implements UserInter{
    //4.手动提供本类的无参构造
    public UserInterImpl(){
        /*2.如果一个类没有明确指定它的父类,那么它默认继承顶级父类Object*/
        super();/*3.此处调用的父类的无参构造是Object的无参构造*/
        System.out.println("我是子实现类的无参构造~");
    }
    @Override
    public void eat() {
        System.out.println("实现接口中的抽象方法1");
    }
    @Override
    public void play() {
        System.out.println("实现接口中的抽象方法2");
    }
}